package com.brt.museum.service.auth;

import java.util.List;

import org.nutz.dao.entity.Record;

import com.brt.museum.bean.auth.Role;
import com.dgj.utils.entries.Result;
import com.dgj.utils.web.pager.Pager;

public interface IRoleService {

	List<Role> findByUserId(int id);

	Role findByName(String name);

	Role addRole(Role role);

	/**
	 * 分页查询角色
	 * 
	 * @param page
	 * @return
	 */
	Pager<Role> findByPage(int page);

	/**
	 * 根据角色id查询
	 * 
	 * @param id
	 *            角色id
	 * @return
	 */
	Role findById(int id);

	/**
	 * 更新角色信息
	 * 
	 * @param role
	 * @param updateField
	 *            指定字段
	 * @return
	 */
	Result upate(Role role, String... updateField);

	/**
	 * @param id
	 * @return
	 */
	Result delete(int id);

	/**
	 * 根据角色名模糊搜索
	 * 
	 * @param page
	 * @param key
	 * @return
	 */
	Pager<Role> searchByKey(int page, String key);

	/**
	 * 查询所有角色
	 * 
	 * @return
	 */
	List<Role> findAll();

	/**
	 * 查询角色权限关系信息
	 * 
	 * @param id
	 * @return
	 */
	List<Record> findRolePermissionByUserId(int id);

	/**
	 * 设置权限
	 * 
	 * @param ids
	 * @param roleId
	 * @return
	 */
	Result setPermission(int[] ids, int roleId);

}
